﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DAO;
using LogicaNegocio;

namespace Minutero
{
    public partial class ModificarUsuario : Form
    {
        Usuario u;
        Form form = new Form();
        public ModificarUsuario(Form f)
        {
            InitializeComponent();
            form = f;
            dgv_Usuarios.DataSource = Gestor.cargarGrillaUsuario(txt_nombreUsuario.Text);
            txt_nuevoUsuario.Visible = false;
            txt_nombre.Visible = false;
            txt_Password.Visible = false;
            txt_nuevoUsuario.Text = "";
            txt_Password.Text = "";
            btn_eliminar.Enabled = false;
            btn_modificar.Enabled = false;
            lbl_NombreUsuario.Visible = false;
            lbl_Password.Visible = false;
            lbl_Nombre.Visible = false;
            lbl_ModificarUsuario.Visible = false;
        }

       

        private void button1_Click(object sender, EventArgs e)
        {
            dgv_Usuarios.DataSource = Gestor.cargarGrillaUsuario(txt_nombreUsuario.Text);
            txt_nuevoUsuario.Visible = false;
            txt_nombre.Visible = false;
            txt_Password.Visible = false;
            txt_nuevoUsuario.Text = "";
            txt_Password.Text = "";
            btn_eliminar.Enabled = false;
            btn_modificar.Enabled = false;
            lbl_NombreUsuario.Visible = false;
            lbl_Password.Visible = false;
            lbl_Nombre.Visible = false;
            lbl_ModificarUsuario.Visible = false;

            
        }

        private void dgv_Usuarios_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            txt_nuevoUsuario.Text = dgv_Usuarios.CurrentRow.Cells[0].Value.ToString();
            txt_Password.Text = dgv_Usuarios.CurrentRow.Cells[1].Value.ToString();
            txt_nombre.Text = dgv_Usuarios.CurrentRow.Cells[2].Value.ToString();
            if (dgv_Usuarios.RowCount > 1)
            {
                txt_nuevoUsuario.Visible = true;
                txt_Password.Visible = true;
                txt_nombre.Visible = true;
                btn_eliminar.Enabled = true;
                btn_modificar.Enabled = true;
                lbl_Nombre.Visible = true;
                lbl_NombreUsuario.Visible = true;
                lbl_Password.Visible = true;

            }
        }

        private void btn_modificar_Click(object sender, EventArgs e)
        {
            u = new Usuario();
            u.Nombre_usuario = txt_nuevoUsuario.Text;
            u.Password = txt_Password.Text;
            u.Nombre = txt_nombre.Text;

            if (txt_nuevoUsuario.Text != "" && txt_Password.Text != "")
            {
                if (txt_nuevoUsuario.Text.Length >= 6 && txt_Password.Text.Length >= 6)
                {
                    if (Gestor.modificarUsuario(dgv_Usuarios.CurrentRow.Cells[0].Value.ToString(), u))//Gestor.modificarUsuario(dgv_Usuarios.CurrentRow.Cells[2].Value.ToString(), u) == true)
                    {
                        lbl_ModificarUsuario.Visible = true;
                        lbl_ModificarUsuario.Text = "El usuario fue modificado";
                        dgv_Usuarios.DataSource = Gestor.cargarGrillaUsuario(txt_nuevoUsuario.Text);
                        txt_nombre.Text = "";
                        txt_nombreUsuario.Text = "";
                        txt_Password.Text = "";
                        txt_nuevoUsuario.Text = "";
                        
                    }
                    else
                    {
                        lbl_ModificarUsuario.Visible = true;
                        lbl_ModificarUsuario.Text = "No se pudo modificar el Usuario";                        
                    }
                }
                else
                {
                    lbl_ModificarUsuario.Visible = true;
                    lbl_ModificarUsuario.Text = "El usuario o contraseña debe tener más de 6 caracteres";                     
                }
            }
            else
            {
                lbl_ModificarUsuario.Visible = true;
                lbl_ModificarUsuario.Text = "No ha elegido a un usuario para modificar";                  
            }
        }

        private void btn_eliminar_Click(object sender, EventArgs e)
        {

            if (txt_nuevoUsuario.Text!="")
            {
                if (Gestor.eliminarUsuario(dgv_Usuarios.CurrentRow.Cells[0].Value.ToString()) == true)
                {
                    lbl_ModificarUsuario.Visible = true;
                    lbl_ModificarUsuario.Text = "El usuario fue eliminado";
                    dgv_Usuarios.DataSource = Gestor.cargarGrillaUsuario(txt_nombreUsuario.Text);
                    txt_nuevoUsuario.Visible = false;
                    txt_Password.Visible = false;
                    txt_nombre.Visible = false;
                    btn_eliminar.Enabled = false;
                    btn_modificar.Enabled = false;
                    lbl_NombreUsuario.Visible = false;
                    lbl_Password.Visible = false;
                    lbl_Nombre.Visible = false;

                }
                else
                {

                    lbl_ModificarUsuario.Visible = true;
                    lbl_ModificarUsuario.Text = "No se eliminar al Usuario";
                }
            }
            else
            {
                lbl_ModificarUsuario.Visible = true;
                lbl_ModificarUsuario.Text = "No ha elegido un usuario";                
            }
            
        }

        private void btn_salir_Click(object sender, EventArgs e)
        {
            //Menu me = new Menu();
            //me.Show();
            form.Show();
            this.Hide();

        }

        private void dgv_Usuarios_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            txt_nuevoUsuario.Text = dgv_Usuarios.CurrentRow.Cells[0].Value.ToString();
            txt_Password.Text = dgv_Usuarios.CurrentRow.Cells[1].Value.ToString();
            txt_nombre.Text = dgv_Usuarios.CurrentRow.Cells[2].Value.ToString();
            if (dgv_Usuarios.RowCount > 1)
            {
                txt_nuevoUsuario.Visible = true;
                txt_Password.Visible = true;
                txt_nombre.Visible = true;
                btn_eliminar.Enabled = true;
                btn_modificar.Enabled = true;
                lbl_NombreUsuario.Visible = true;
                lbl_Password.Visible = true;
                lbl_Nombre.Visible = true;
            }
        }

        private void txt_nombreUsuario_TextChanged(object sender, EventArgs e)
        {
            //lbl_ModificarUsuario.Visible = false;
            dgv_Usuarios.DataSource = Gestor.cargarGrillaUsuario(txt_nombreUsuario.Text);
            txt_nuevoUsuario.Visible = false;
            txt_nombre.Visible = false;
            txt_Password.Visible = false;
            txt_nuevoUsuario.Text = "";
            txt_Password.Text = "";
            btn_eliminar.Enabled = false;
            btn_modificar.Enabled = false;
            lbl_NombreUsuario.Visible = false;
            lbl_Password.Visible = false;
            lbl_Nombre.Visible = false;
            lbl_ModificarUsuario.Visible = false;
        }
    }
}
